指数関数のパラメータの推定
a1,をシフト
\(\Large \displaystyle y_i = a_0 \ Exp (- a_1 x_i) \)
a0 | 9.4978 | 9.7007 | 9.8720 | 10.0150 | 10.0569 | 10.0962 | 10.0962 | 10.2822 | 10.3480 | |||
a1 | 0.4099 | 0.4399 | 0.4699 | 0.4999 | 0.5099 | 0.5199 | 0.5499 | 0.5799 | 0.6099 | |||
δ | -0.1 | -0.07 | -0.04 | -0.01 | 0 | 0.01 | 0.04 | 0.07 | 0.1 | |||
i | x | y | \( \hat{y} \) | |||||||||
1 | 0 | 10 | 9.4978 | 9.7007 | 9.8720 | 10.0150 | 10.0569 | 10.0962 | 10.0962 | 10.2822 | 10.3480 | |
2 | 2 | 4 | 4.1842 | 4.0247 | 3.8573 | 3.6853 | 3.6274 | 3.5695 | 3.3616 | 3.2242 | 3.0558 | |
3 | 3 | 2 | 2.7772 | 2.5924 | 2.4111 | 2.2355 | 2.1785 | 2.1224 | 1.9397 | 1.8054 | 1.6606 | |
4 | 4 | 1 | 1.8433 | 1.6698 | 1.5071 | 1.3561 | 1.3084 | 1.2620 | 1.1193 | 1.0110 | 0.9024 | |
5 | 6 | 0.5 | 0.8121 | 0.6928 | 0.5889 | 0.4990 | 0.4719 | 0.4462 | 0.3727 | 0.3170 | 0.2665 | |
6 | 9 | 0.1 | 0.2375 | 0.1851 | 0.1438 | 0.1114 | 0.1022 | 0.0938 | 0.0716 | 0.0557 | 0.0428 | |
S (\(y_i - \hat{y} \)の平方和) | 1.7177 | 0.9342 | 0.4728 | 0.2817 | 0.2698 |
0.2812 | 0.4517 | 0.7550 | 1.1951 | |||
dS (Seとの差分) | 1.4479 | 0.6644 | 0.2030 | 0.0119 | 0 | 0.0113 | 0.1819 | 0.4852 | 0.9253 | |||
・残差平方和
推定値からの残差
\(\Large \displaystyle Se = \sum_{i=1}^{n} \left[ y_i -\hat{a_0} \ Exp(- \hat{a_1} \ x_i) \right]^2 \)
a0をシフトさせたときの,推定値からの残差
\(\Large \displaystyle Se = \sum_{i=1}^{n} \left[ y_i -a_0 \ Exp(- \hat{a_1} \ x_i) \right]^2 \)
であり,a1を,δ,だけシフトさせて,固定し,その際のa0の推定値をソルバーで推定しました.
dS,を見ていただけるとわかるように,推定値,Seが一番小さく,今回は,左右非対称に増加していることがわかります.
グラフ化すると,
二次曲線の近似を行うと,
\(\Large \displaystyle y = 0.2698 + 111.919 \ \delta^2 \)
ここで,分散値は,
・分散
\(\Large \displaystyle Ve = \frac{1}{n-2} \sum_{i=1}^{n} \left[ y_i -\hat{a_0} \ Exp(- \hat{a_1} \ x_i) \right]^2 = \frac{Se}{n-2} = \frac{0.2698}{6-2} = 0.067454 \)
であり(a0,a1,の二つのパラメータが2つあるので,自由度は,n-2),
\(\Large \displaystyle 111.919 \ \delta^2 = 0.067454 \)
となるδがSEとなるので,
\(\Large \displaystyle \delta^2 = \frac{ 0.067454}{111.919} = 0.00060 \)
\(\Large \displaystyle SE_{a_0} = \sqrt{\delta^2} =\color{red}{0.02455} \)
と推定できます.
・Rによる推定
Rでの近似を行ってみると,
プログラムは,
xx <- c(0,2,3,4,6,9)
yy <- c(10,4,2,1,0.5,0.1)
plot(xx,yy)
fm<-nls(yy~a0*exp(-a1*xx),start=c(a0=10,a1=0.5),trace=TRUE)
summary(fm)
で,結果は,
Parameters: | |||||
Estimate | Std. Error | t value | Pr(>|t|) | ||
a0 | 10.0569 | 0.25753 | 39.05 | 2.57E-06 | *** |
a1 | 0.50987 | 0.02455 | 20.77 | 3.18E-05 | *** |
となり,Kyplotにおいても,
推定値 | 標準誤差(SE) | |
A1 | 10.05689 | 0.257527 |
A2 | 0.50987 | 0.024553 |
と同じ結果となり,今回の推定値と,ぴったり一致,します.
ぴったり合いすぎるのが気になりますが....
前頁同様に,「統計解析の初歩」,の「1.2 非線形最小2乗法の基本的な考え方」には,
δのずらした値0.5 を変えると結果は異なり、近似標準誤差の精度が変わる
統計パッケージにより、近似標準誤差の値は幾分異なる
とあります.ここで,”0.5”,がどこから出てきたかはわかりません.そもそも横軸(x軸)の範囲に依存しちゃいますし..
そこで,σをとる値(±での平均値)でどう推定値が変わるかを調べてみました.その結果が,
近似曲線からの推定がぴったり合った割にはすべてのδでの推定値がRなどからの推定値に比べて下回っているのが気になりますが...
次に,指数関数+baseのパラメータ,について,確認してましょう.